2006/12/23

[Speech]The Future of "Computer * "

在逛 IEEE ,想要決定該加入哪個 society 時,無意間看到的,IEEE 60 週年紀念大會中 Dr. Yale N. Patt 的演講。(跟著連結可以連到演講的影片、錄音跟投影片,無料下載)

先自首,我不是搞 Computer Architecture 的,連基礎課都沒上過,所以我沒聽說過 Yale N. Patt 的大名 orz。不過根據網頁上的介紹,此人可是大有來頭,現在主流 CPU 的核心架構中好幾項關鍵技術都是根據他的研究成果發展而來,應該也算是宗師級的人物了(想必 IEEE 也不會在 60 週年紀念隨便請個像我這種路人甲乙去演講吧?)。

一小時的演講內容,主要包含了兩個主題: Computer Architecture 的未來發展,以及 Computer Engineering / Science Education。前者主要是對於 Web 時代的來臨,許多人懷疑搞硬體究竟還有沒有未來(以及如果有,在哪裡?)的解惑;後者則是演講者長年投入教學,對於越來越少學生願意投入 Computer Engineering and Science 的一些看法。我聽著聽著是覺得非常enjoy,演講中除了老美的諷刺型幽默,還有不少相當有趣的見解。

關於計算機架構,我不是此道中人,所以也沒啥好說的,但是演講中剛好也提到 super-scalar + X,這種異質多核心的架構,跟前一篇講 AMD APU 的想法恰好是相似的(不過 AMD 的技術發表是在這個演講之後,所以是不是受到什麼啟發就不得而知了)。
有趣的是,Patt 在演說中試著回答 "is computer architecture dead? " 這個問題,跟我高中時一直聽見藝文界人士談論「文學已死?」的問題,似乎又有一種時空錯置的詭異感覺。不過在這個高速變動的時代, continuing pushing the next issue, long tail, ....etc,其實已經預示了這種話題的重複出現,頻率提高,以及永遠不會成真。但這又是另一個話題了,在此暫且按過不表。

至於 computer education,Patt提出了相當有趣的看法。目前在 computer engineering/science 的入門教育,有兩種主要的主張:top-down and bottom-up,前者主張應該直接由物件導向開始,因為科技日新月異,沒有必要把學生的時間浪費在永遠不會用到的細節上;後者則是認為應該從最基礎的細節開始,穩紮穩打的一步一步往上爬。Patt 是 bottom-up 的支持者,認為主張 top-down 的人根本是想 top-up ,只想要學生可以在短時間內變成「有生產力」。
他認為,所謂的 engineering 基本上就是一種 design 的活動,是一種利用現今已知的科技 (technology),設計出可以滿足人類需求 (demand) 的介面 (interface)。所以工程師的訓練,重點在對於科技原理有深刻的理解,並且具備將這些科技應用在實際問題上的能力。基於這樣的認知,Patt 覺得應該 computer education 應該要讓學生了解最基礎的知識,並且具有實作的能力,而進階、抽象的知識必須建立在這些基礎之上。像「物件導向」這種連教的人都不見得有什麼深刻認識的主題,著實不應該放在學電腦程式的第一門課中,而他也簡述了自己在大一 introduction to programming 課程中的作法。

當然,這種「學校應該教些什麼」、「該怎麼教」的爭論,一向是公說公有理、婆說婆有理,而且每個學生的觀感也有所不同(相信上過史英應用數學的人大概都能體會這一點)。不過我想真正可貴的,是這樣一個允許各種不同想法相互討論、實驗的開放環境,以及這些真的想要啟發學生學習興趣、提升學生能力的教師們。
期待有朝一日,我們的教育是可以依照每個學生的不同特質,來使用適合於他的教學方式。

沒有留言: